package cn.yuemouren.collection.leetcode;

/**
 * @Author: Timi
 * @Description:
 *      给定一个字符串，验证它是否是回文串，只考虑字母和数字字符，可以忽略字母的大小写。
 *      说明：本题中，我们将空字符串定义为有效的回文串。
 *      示例 1:
 *          输入: "A man, a plan, a canal: Panama"
 *          输出: true
 *      示例 2:
 *          输入: "race a car"
 *          输出: false
 * @Date: 2020/6/19 9:27
 */
public class ValidParenthesis_125 {
    public static boolean isPalindrome(String s) {
        if(s.isEmpty()){
            return true;
        }
        StringBuilder builder = new StringBuilder();
        String s1 = s.toLowerCase();
        char[] array = s1.toCharArray();
        //只保留数字和字母
        for (char c : array) {
            if((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z')){
                builder.append(c);
            }
        }
        return builder.toString().equals(builder.reverse().toString());
    }

    public static void main(String[] args) {
        String str = "A man, a plan, a canal: Panama";
        boolean palindrome = isPalindrome(str);
        System.out.println(palindrome);
    }
}
